POČÍTAČ A ARDUINO UNO 12

Vágner Vlastimil

    Rozhodl jsem se na zkoušku zprovoznit staré rozebrané autíčko s vykuchanou elektronikou a ovládání řešit pomocí tabletu s bluetooth JDY-33 (stejné ovládání jako HC-06). Zakoupený společně s Arduino Uno a modulem pro ovládání motorků L9110S v [1] který na použité el.motorky proudově postačuje. Uvedený modul L9110S v jednou případě ovládám z počítače redukcí USB/COM připojenou do desky Arduino Uno programem pro PC a v druhém případě při použití bluetooth kdy je  ovládán tabletem s programem sériového terminalu. Zde je popis odzkošení uvedených modulů před vlastní stavbou do modelu autíčka.

 

POPIS MODULŮ

    Použité moduly jsou tovární výroby, přípravek pro ovládání el.motorků L9110S umožňuje volbu směru a otáček pomocí řízení PWM. PWM řídí deska Arduino Uno otáčky motoru “A” řídí signály na PINECH “3 – 5”, otáčky motoru “B” řídí signály na PINECH “6 – 9” desky Arduino Uno. Uvedené PINY jsou shodné pro oba programy na ovládání modulu L9110S, PINY “10 – 11” jsou určeny pro komunikaci s bluetooth modulem JDY-33 (HC-06) a Arduino Uno, při ovládání modulu L9110S z počítače jsou nepoužity. Napájení modulu L9110S společně s bluetooth modulem je ze stabilizátoru 7805 který je osazený na univerzální vrtané desce stabilizátor je zapojený podle doporučení vstup 7V - 9V a výstup 5V je blokovaný keramickým kondenzátorem 100Nf. Schema propojení je na Obr.č.01 a Obr.č.02

 

STRUČNÝ POPIS MODULU BLUETOOTH JDY-33

    Uvedený modul má shodné příkazy jako modul HC-06 změna hodnoty příkazu je pomocí “AT” kódů, pro otestování “AT” příkazů jsem použil převodník USB/COM RS232 s připojeným převodníkem úrovní signaů “RS232” na “TTL” výstup TXD z převodníku úrovní je na vstup RXD bluetooth modulu připojen přes odporový dělič zapojení je na Obr.č.03 je možné použít I převodník USB/TTL CH340 a opět použít na výstupní signal z převodníku CH340 “TXD” odporový dělič. při napájení modulu napětím +5V je kladné napájecí napětí připojeno  na vstup označený “VCC”. Záporné napájecí napětí je připojeno na vstup označený GND, při napájení napětím +3.3V je kladné napájecí napětí připojeno na vstup označený “PWRC”. POZOR POKUD JE POUŽITO NAPÁJECÍ NAPĚTÍ “5V” NESMÍ BÝT SOUČASNĚ POUŽITO I NAPÁJECÍ NAPĚTÍ “3.3V” DOJDE KE ZNIČENÍ MODULU. Vstupní “RXD” I výstupní”TXD” signal je v úrovni 3.3V z toho důvodu je nutné na vstup “RXD” VŽDY POUŽÍT DĚLIČ Z REZISTORŮ NEBO MODUL PRO OBOUSMĚRNOU KOMUNIKACI  5 – 3.3V a ze 3.3V – 5V. Při otestování a změny parametrů při používání “AT” kódů nesmí být bluetooth modul nikdy spárovaný s dalším bluetooth modulem, na modulu musí blikat led dioda která při spárování s druhým bluetooth modulem trvalým svitem signapizuje že bluetooth modul je spárovaný s druhym bluetooth modulem.

 

POPIS PROGRAMŮ

     Programy  pro Arduino je uložený v adrsáři ARDUINO a jsou dva, jeden má název PC_L9110.ino je určený pro ovládání modulu L9110S Arduinem kdy je pro komunikaci (zadávání hodnot) využit počítač s programem TERMINAL.EXE. Druhý program ma název BLUETOOTH_L9110.ino tento je určen pro ovládání modulu L9110S s bluetooth modulem kdy se hodnoty zadávají v terminalu v tabletu. Program pro počítač je uložený v adresáři POČÍTAČ a má název Arduino.exe zde je take soubor v PDF s popisem k tomuto programu. 

 

POPIS ZADÁVÁNÍ HODNOT PRO OBA PROGRAMY

     V obou programech se zadává shodný počet hodnot celkem zadáváme osm hodnot, hodnoty určují který motorek “označený “B” a označený “A” a kam se bude točit a jaké bude mít otáčky nastavené PWM regulací pro motorek označený “B” jsou řídící piny ounačené “B-1A, B-1B”. Pro motorek označený “A” jsou řídící piny označené “A-1B, A-1A. Popis signalů  od Arduina je pro následující příklad : 0,1,0,1,0,60,0,40 PRVNÍ DVĚ HODNOTY 0,1 ZNAMENAJÍ SMĚR OTÁČENÍ MOTORKU OZNAČENÉHO NA MODULU “B” piny “B-1A, B-1B”, DRUHÉ DVĚ HODNOTY 0,1 ZNAMENAJÍ SMĚR OTÁČENÍ MOTORKU OZNAČENÉHO NA MODULU  “A” piny “A-1B, A-1A”. TŘETÍ DVĚ HODNOTY ZNAMENAJÍ OTÁČKY(PWM), MOTORKU “B” piny “B-1A, B-1B0,60,  HODNOTA PWM SE ZADÁVÁ TAM KDE JE V PRVNÍM DVOJČÍSLÍ HODNOTA “1” ZDE JE HODNOTA 60 VE TŘETÍM DVOJČÍSLÍ NA DRUHÉM MÍSTĚ STEJNĚ TAK JAKO “1” NA DRUHÉM MÍSTĚ V PRVNÍM DVOJČÍSLÍ. ČTVRTÉ DVĚ HODNOTY ZNAMENAJÍ OTÁČKY (PWM) MOTORU “A” piny “A-1B, A-1A0,40,  HODNOTA PWM SE ZADÁVÁ TAM KDE JE V DRUHÉM DVOJČÍSLÍ HODNOTA “1  ZDE V ČTVRTÉM DVOJČÍSLÍ TO  JE HODNOTA “40”. Hodnoty je možné zadávat jak potřebujeme pouze musí být zadány tak jak je popsáno výše “tam kde je v prvních čtyřech hodnotách zadaná hodnota “1” musí být na stejné pozici zadané hodnoty pro PWM na stejných pozicích v dalších dvou dvojicích “0,1,0,1,0,60,0,40”,  1,0,1,0,100,0,250,0” “0,0,1,0,0,0,70,0”, “1,0,0,0,100,0,0,0”.  

 

ZADÁVÁNÍ HODNOT Z POČÍTAČE

    Na počítači spustíme terminál ARDUINO.EXE zadáme parametry dle popisu v souboru PDF k tomuto programu, o kně s nadpisem “Zápis text” zadáme hodnoty podle popisu výše tak že zadáme všech osm hodnot v řadě za sebou a stiskneme tlačítko ODESLAT ZÁPIS TEXT (klávesu ENTER NEPOUŽÍVÁME) a v okně s nadpisem čtení text se zobrazí data odeslaná Arduinem a el.motorky se budou otáčet podle zadaných hodnot. V případě že použijeme jiný terminál hodnoty zadáváme shodně. Změny hodnot zadáváme tak že si označíme hodnotu kterou chceme měnit levým tlačítkem myši (barevně se změni) a hodnotu přepíšeme.

 

ZADÁVÁNÍ HODNOT Z TERMINÁLU V TABLETU

    Po spárování tabletu s bluetooth JDY spustíme terminál v nastavení vypneme volbu CR+LF a klikneme na řádek pro zadávání hodnot zadáme hodnoty a odešleme zpětně se nám v okně terminálu zobrazí načtená data. V případě že budeme el.motorky ovládat nějaký model zadáme si po rozkliknutí tklačítka M1 – M10 připravené hodnoty pro ovládání el.motorků a tyto si uložíme tak že již pouze vždy klikneme na požadované otáčení el.motorků ulžené v M1 – M10. Osobně mám v M10 oložen příkaz stop.

    POZOR V OBOU PROGRAMECH NEŽ PROVEDEME ZMĚNU SMĚRU OTÁČENÍ VŽDY PROVEDEME PŘÍKAZ “STOP 0,0,0,0,0,0,0,0 ” JINAK DOJDE VLIVEM ODBĚRU PROUDU EL.MOTORKŮ PŘI ZMĚNĚ SMĚRU KE ZNIČENÍ MODULU L9110S.

 

Pokud nebudeme vyžadovat měnit otáčky el.motorků stačí program upravit tak že po úpravě budeme zadávat pouze čtyři hodnoty. Uprava programu je čistě individuální věc.

 

 

Test programu terminálu s PC

 

Připojené led diody pro kontrolu sepnutí správného výstupu z arduino

 

Příprava na test programu pro použití s bluetooth

Osazený modul bluetooth JDY-33 v kontaktním poli test programu bluetooth_L9110.ino

 

Signalizace aktivních výstupů PWM arduino

Použitý modul JDY-33

 

Použitý převodník USB/COM a převodník RS232/TTL pro test AT kodů

Sepnuté výstupy ovládání bluetoth JDY-33 spárování s tabletem trvalý svit LED

 

Použirý terminál pro Android

Záznam dat na lcd displeji tabletu

 

Vypnutí znaků CR+LF  v terminálu tabletu

 

Zadání hodnot v terminálu tabletu

 

Zadání hodnot do M1 pro trvalé používání

Zadané hodnoty v terminálu pro PC

 

Zadání hodnot v terminálu pro PC

 

Použité prameny:

[1] laskarduino

Dokumentace k bluetooth JDY-33

Dokumentace k L9110S

Dokumentace k Arduino Uno

 

Bližší informace:

vagnervlastimil@seznam.cz